인덱스를 이어 붙이면 부분 트리를 차례로 내려간다
트리 a 아래에 b(d, e)와 c(f)가 있는 중첩 리스트에서 식을 바꾸면 리스트의 어느 부분을 꺼내는지와 그 부분이 나타내는 부분 트리가 바뀐다.
insert_left는 기존 왼쪽 부분 트리를 새 노드 아래로 내린다
root = ["a", ["b", [], []], ["c", [], []]]에 insert_left(root, "x")를 실행한다. 단계를 옮기면 리스트와 트리가 한 줄씩 실행한 결과로 바뀐다.
노드와 참조 표현에서는 참조를 따라 부분 트리에 접근한다
같은 트리를 BinaryTree 노드로 만들었다. 표현식을 바꾸면 루트에서 따라가는 참조와 도달한 노드, 결과가 바뀐다.